// @Author miaoqing
// @Date 2024/02/26 11:07:00
// @Desc
package logic

import (
	"core/command"
	"core/component/logger"
)

func (oc *OnlineClient) gatewayForwardPacketHandler(msgID uint16, data []byte) {
	msg := &command.GatewayForwardPacket{}
	err := oc.Router.UnMarshal(data, msg)
	if err != nil {
		return
	}
	client := clientManagerGetMe().getBindUserID2Client(msg.Userid)
	if client == nil || !client.bindOnline {
		return
	}
	clientManagerGetMe().sendMsgToClient(msg.Userid, msg.Data)
}

func (oc *OnlineClient) registerHandler(msgID uint16, data []byte) {

	msg := &command.RegisterToGateway{}

	err := oc.Router.UnMarshal(data, msg)

	if err != nil {
		logger.Errorf("recv data:%v msg:%v", data, msg)
		return
	}

	onlineServerMgrGetMe().addOnlineServerClient(oc, msg.ServerID, msg.ServerAddr, msg.Msgids, msg.ProcIndex)
}

func (oc *OnlineClient) clientOnlineHandler(msgID uint16, data []byte) {
	msg := &command.ClientOnlineRet{}

	err := oc.Router.UnMarshal(data, msg)

	if err != nil {
		logger.Errorf("recv data:%v msg:%v", data, msg)
		return
	}
	clientManagerGetMe().clientOnline(msg, oc.srvID)
}
